package com.egao.common.module.guidance.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.egao.common.core.web.JsonResult;
import com.egao.common.core.web.PageParam;
import com.egao.common.module.guidance.entity.LectureApply;
import com.egao.common.module.guidance.entity.vo.LectureApplyVO;

import java.util.List;

/**
 * 就业讲座报名接口
 * @author pyx
 */
public interface LectureApplyService extends IService<LectureApply> {
    /**
     * 查询单个讲座报名的所有信息
     * @return
     */
    List<LectureApply> listGetLecture(Integer id,Integer state);

    /**
     * 审核就业讲座报名
     * @param lectureApply 报名信息
     * @return
     */
    JsonResult updateLectureApply(LectureApply lectureApply);

    /**
     * 讲座报名
     * @param lectureId 讲座id
     * @param userId 用户id
     * @return
     */
    JsonResult insertLectureApply(Integer lectureId,Integer userId);

    /**
     * 验证报名讲座状态
     * @param lectureId 讲座id
     * @param studentId 学生id
     * @return
     */
    JsonResult applyVerify(Integer lectureId, Integer studentId);

    /**
     * 取消报名
     * @param lectureId
     * @param userId
     * @return
     */
    JsonResult cancelApply(Integer lectureId, Integer userId);

    /**
     * 查询报名信息
     * @param pageParam
     * @param loginUserId
     * @return
     */
    List<LectureApplyVO> listApplyPage(PageParam<LectureApplyVO> pageParam, Integer loginUserId);

    /**
     * 根据学生id和讲座id查询报名信息
     * @param studentId
     * @param lectureId
     * @return
     */
    LectureApply studentApply(Integer studentId, Integer lectureId);
}
